package cn.sunshine.framework.beans.factory.config;

import cn.sunshine.framework.beans.BeansException;
import cn.sunshine.framework.beans.factory.ConfigurableListableBeanFactory;

/**
 * @Description 允许自定义修改 BeanDefinition 属性信息
 * @Author Mokairui
 * @Since 2021/12/11
 */
public interface BeanFactoryPostProcessor {

    /**
     * 在所有的 BeanDefinition 加载完成之后, 实例化 Bean 对象之前, 提供修改 BeanDefinition 属性的机制
     * @param beanFactory
     * @throws BeansException
     */
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;

}
